#ifndef _ERROR_H_
#define _ERROR_H_
#include <setjmp.h>
#include <stdio.h>

extern jmp_buf startEnviroment;

#define ERRORInit() setjmp(startEnviroment)
#define _ERROR_GO longjmp(startEnviroment,123)
#define ERRORThrow(x) {printf(" ;; [SimpleErrorSavior]\n ;;\t%s\n",x); _ERROR_GO;}
#define ERRORThrow2(x,y) {printf(" ;; [SimpleErrorSavior]\n ;;\t%s%s\n",x,y); _ERROR_GO;}
#define ERRORThrow3(x,y,z) {printf(" ;; [SimpleErrorSavior]\n ;;\t%s%s%s\n",x,y,z); _ERROR_GO;}
#define ERRORJump()  longjmp(startEnviroment,123)
#endif /*_ERROR_H_*/
